/*
**  Copyright (c) 2014 Michael Liu(michael.liu.point@gmail.com).
**
**  Project: Gateway Unified Management Platform
**  File:      pptpifopt.c
**  Author:  Michael
**  Date:    06/27/2014
**
**  Purpose:
**    pptp interface method implement.
*/

/* Include files. */

#include "dpmgr.h"
#include "osdep.h"
#include "pfdep.h"
#include "pptpifopt.h"

/* Macro constant definitions. */

/* Type definitions. */

/* Local function declarations. */

static e_ret pptp_if_create(tdp_if * dp_if);
static e_ret pptp_if_destroy(tdp_if * dp_if);
static e_ret pptp_if_enable(tdp_if * dp_if);
static e_ret pptp_if_disable(tdp_if * dp_if);
static e_ret pptp_if_setlinkcfg(tdp_if * dp_if, void *linkcfg, tmask * mask);
static e_ret pptp_if_link(tdp_if * dp_if);
static e_ret pptp_if_unlink(tdp_if * dp_if);
static e_ret pptp_if_collectlinkstat(tdp_if * dp_if);
static e_ret pptp_if_getlinkstat(tdp_if * dp_if, void **linkstat, int *size, tmask * mask);
static e_ret pptp_if_getlinkstatus(tdp_if * dp_if, void **status, int *size, tmask * mask);
static e_ret pptp_if_setnetcfg(tdp_if * dp_if, void *netcfg, tmask * mask);
static e_ret pptp_if_connect(tdp_if * dp_if);
static e_ret pptp_if_disconnect(tdp_if * dp_if);
static e_ret pptp_if_collectnetstat(tdp_if * dp_if);
static e_ret pptp_if_getnetstat(tdp_if * dp_if, void **netstat, int *size, tmask * mask);
static e_ret pptp_if_getnetstatus(tdp_if * dp_if, void **status, int *size, tmask * mask);

/* Macro API definitions. */

/* Global variable declarations. */

e_ret ppp_pptp_if_prepare(tdp_if * dp_if)
{

	sysmgr_trace_enter();
	dp_if->create = pptp_if_create;
	dp_if->destroy = pptp_if_destroy;
	dp_if->enable = pptp_if_enable;
	dp_if->disable = pptp_if_disable;
	dp_if->setlinkcfg = pptp_if_setlinkcfg;
	dp_if->getlinkcfg = dpif_getlinkcfg_common;
	dp_if->link = pptp_if_link;
	dp_if->unlink = pptp_if_unlink;
	dp_if->collectlinkstat = pptp_if_collectlinkstat;
	dp_if->getlinkstat = pptp_if_getlinkstat;
	dp_if->getlinkstatus = pptp_if_getlinkstatus;
	dp_if->setnetcfg = pptp_if_setnetcfg;
	dp_if->getnetcfg = dpif_getnetcfg_common;
	dp_if->connect = pptp_if_connect;
	dp_if->disconnect = pptp_if_disconnect;
	dp_if->collectnetstat = pptp_if_collectnetstat;
	dp_if->getnetstat = pptp_if_getnetstat;
	dp_if->getnetstatus = pptp_if_getnetstatus;

	sysmgr_trace_exit();
	return (eRET_SUCCESS);

}

e_ret pptp_if_create(tdp_if * dp_if)
{
	sysmgr_trace_enter();

	sysmgr_trace_exit();
	return (eRET_SUCCESS);
}

e_ret pptp_if_destroy(tdp_if * dp_if)
{
	sysmgr_trace_enter();

	sysmgr_trace_exit();
	return (eRET_SUCCESS);
}

e_ret pptp_if_enable(tdp_if * dp_if)
{
	sysmgr_trace_enter();

	sysmgr_trace_exit();
	return (eRET_SUCCESS);
}

e_ret pptp_if_disable(tdp_if * dp_if)
{
	sysmgr_trace_enter();

	sysmgr_trace_exit();
	return (eRET_SUCCESS);
}

e_ret pptp_if_setlinkcfg(tdp_if * dp_if, void *linkcfg, tmask * mask)
{
	sysmgr_trace_enter();

	sysmgr_trace_exit();
	return (eRET_SUCCESS);
}

e_ret pptp_if_link(tdp_if * dp_if)
{
	sysmgr_trace_enter();

	sysmgr_trace_exit();
	return (eRET_SUCCESS);
}

e_ret pptp_if_unlink(tdp_if * dp_if)
{
	sysmgr_trace_enter();

	sysmgr_trace_exit();
	return (eRET_SUCCESS);
}

e_ret pptp_if_collectlinkstat(tdp_if * dp_if)
{
	sysmgr_trace_enter();

	sysmgr_trace_exit();
	return (eRET_SUCCESS);
}

e_ret pptp_if_getlinkstat(tdp_if * dp_if, void **linkstat, int *size, tmask * mask)
{
	sysmgr_trace_enter();

	sysmgr_trace_exit();
	return (eRET_SUCCESS);
}

e_ret pptp_if_getlinkstatus(tdp_if * dp_if, void **status, int *size, tmask * mask)
{
	sysmgr_trace_enter();

	sysmgr_trace_exit();
	return (eRET_SUCCESS);
}

e_ret pptp_if_setnetcfg(tdp_if * dp_if, void *netcfg, tmask * mask)
{
	sysmgr_trace_enter();

	sysmgr_trace_exit();
	return (eRET_SUCCESS);
}

e_ret pptp_if_connect(tdp_if * dp_if)
{
	sysmgr_trace_enter();

	sysmgr_trace_exit();
	return (eRET_SUCCESS);
}

e_ret pptp_if_disconnect(tdp_if * dp_if)
{
	sysmgr_trace_enter();

	sysmgr_trace_exit();
	return (eRET_SUCCESS);
}

e_ret pptp_if_collectnetstat(tdp_if * dp_if)
{
	sysmgr_trace_enter();

	sysmgr_trace_exit();
	return (eRET_SUCCESS);
}

e_ret pptp_if_getnetstat(tdp_if * dp_if, void **netstat, int *size, tmask * mask)
{
	sysmgr_trace_enter();

	sysmgr_trace_exit();
	return (eRET_SUCCESS);
}

e_ret pptp_if_getnetstatus(tdp_if * dp_if, void **status, int *size, tmask * mask)
{
	sysmgr_trace_enter();

	sysmgr_trace_exit();
	return (eRET_SUCCESS);
}
